Supporting State-sensitive Computation in a Dataaow System Computation Structures Group Memo 294 March 1989 Managing Shared Resources in a Parallel System
نویسندگان
چکیده
One well-known construct for managing shared resources in a parallel system is Hoare's monitorss4], which encapsulate the shared data, operations on it, and synchronization between operations. This paper describes managers, a version of monitors for the declarative language Idd8]. Like monitors, managers provide encapsulation; however, managers make two key improvements critical to parallel execution. First, operations on a shared resource have internal concurrency. This concurrency allows diicult locking issues encountered in monitors, such as nested monitors, recursive monitors, and the precise semantics of wait and signal, to be resolved programmatically without losing abstraction. Second, the implementation uses low overhead, non-busy-waiting locks for mutual exclusion. This low overhead increases the availability of shared resources, and encourages composite manager structures which reduce bottlenecks. The construct is described in detail, and our experience with applications using managers is described. This experience indicates that managers are eeective programming construct for systems with multiple, dynamic threads of control and eecient context switching.
منابع مشابه
A New Continuous Multi-State Reliability Model with Time Dependent Component Performance Rate
A CSS1†is a system with the continues-state components. When a component has the ability to obtain all the situations from completely working to completely failed, it named continues-state component. In the real world, performance rate of elements are continuous and decrease by time. Continuity of components causes infinite working states and grows up the system states. In this paper we propose...
متن کاملMultithreading: a Revisionist View of Dataaow Architectures Computation Structures Group Memo 330 March, 1991 Multithreading: a Revisionist View of Dataaow Architectures
Although they are powerful intermediate representations for compilers, pure dataaow graphs are incomplete, and perhaps even undesirable, machine languages. They are incomplete because it is hard to encode critical sections and imperative operations which are essential for the eecient execution of operating system functions, such as resource management. They may be undesirable because they imply...
متن کاملParallel computation framework for optimizing trailer routes in bulk transportation
We consider a rich tanker trailer routing problem with stochastic transit times for chemicals and liquid bulk orders. A typical route of the tanker trailer comprises of sourcing a cleaned and prepped trailer from a pre-wash location, pickup and delivery of chemical orders, cleaning the tanker trailer at a post-wash location after order delivery and prepping for the next order. Unlike traditiona...
متن کاملExperiences Implementing Dataflow On
| The MIT J-Machine 3], a massively-parallel computer, is an experiment in providing general-purpose mechanisms for communication, synchronization, and naming that will support a wide variety of parallel models of computation. We have developed two experimental data-ow programming systems for the J-Machine. For the rst system, we adapted Papadopoulos' explicit token store 10] to implement stati...
متن کاملCommunicating Shared Resources: A Model for Distributed Real-Time Systems
The timing behavior of a real-time system depends not only on delays due to process synchronization, but also on resource requirements and scheduling. However, most real-time models have abstracted out resourcespecific details, and thus assume operating environments such as maximum parallelism or pure interleaving. This paper presents a real-time formalism called Communicating Shared Resources ...
متن کامل